﻿// 4593. GCD极限II.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*
https://www.acwing.com/problem/content/4596/

给定一个整数 N
，请你计算 G
 的值。

关于 G
 的定义，如下所示：

G=∑i=1i<N∑j=i+1j≤NGCD(i,j)
这里 GCD(i,j)
 是指整数 i
 和整数 j
 的最大公约数。

为了让 G
 的含义更容易理解，可以参考以下代码：

G=0;
for(i=1;i<N;i++)
    for(j=i+1;j<=N;j++)
    {
        G+=gcd(i,j);
    }
// 这里 gcd() 是求两输入数的最大公约数的函数
输入格式
输入最多包含 100
 组数据。

每组数据占一行，包含一个整数 N
。

当输入 N=0
 时，表示输入结束。

输出格式
每组数据输出一行结果，一个整数表示 G
 的值。

数据范围
2≤N≤4×106
输入样例：
10
100
200000
0
输出样例：
67
13015
143295493160
*/
int main()
{
    std::cout << "Hello World!\n";
}
 